fn foo(i8 a) {
    println("this is foo(i8 a)")
}

fn foo(i16 a) {
    println("this is foo(i16 a)")
}

fn foo() {
    println("this is foo()")
}

fn foo(i8 a, f64 b) {
    println('this is foo(i8 a, f64 b)')
}